õõõõõ õ õ õ õ õ õ õ õ õ MYDOS Version 4 User Guideõ Revision 4.50õ for Atari Home Computersõ õ õ Copyright (C) 1988 by WORDMARK Systems and the authors:õ õ Charles Marslettõ 2705 Pinewood Dr.õ Garland, TX 75042õ CIS: 73317,3662õ UseNet: CHASM@KILLER.DALLAS.TX.USõ õ andõ õ Robert Puffõ Suite 222õ 2117 Buffalo Rd.õ Rochester, NY 14624õ GEnie: BOB.PUFFõ õ õ õ This software may be freely used and distributed provided thatõ this copyright notice is left intact, and provided that:õ õ (1) The source code in machine readable form is provided withõ any binary distribution, or made available at no additional costõ to the recipients of the binary distribution.õ õ (2) A binary version of a derivative work may be sold for aõ reasonable distribution charge (less than $50), and theõ source code in machine readable format must be available.õ õ (3) A derivative work may not impose and restriction on the freeõ distribution of the source code.õõõõõõõõõõõõõ MYDOS User Manual page 1 Version 4.50õõõõõõõõõ MYDOS Version 4 User Guideõ by Charles Marslett & Robert Puffõ õ õ I. INTRODUCTIONõ õ The disk operating system described in this manual is modeledõ after the ATARI (trademark of ATARI Corp.) disk operating system (DOSõ 2), and may be considered an extension of the very "user friendly"õ concepts introduced with this operating system. The ATARI 810 diskõ drive and the ATARI 1050 disk drive are well supported by the DOS 2õ and DOS 2.5, but those DOSs have very limited provision for higherõ capacity double density disks (such as the XF-551), and largeõ RAMdisks.õ õ õ II. SYSTEM REQUIREMENTSõ õ MYDOS 4.50 is intended to function as nearly as possible likeõ ATARI DOS 2. This means it occupies as little memory as possible,õ supports all the system calls supported by DOS 2, and in most casesõ uses exactly the same parameters to the system calls. This meansõ compatibility, yet MYDOS goes far beyond this. On a standardõ single-sided, single density disk, MYDOS will read and write to a DOSõ 2.0 or 2.5 format, and vice versa. There are a few programs that willõ not run under MYDOS because of one or both of the following reasons:õ direct "illegal" calls into the main DOS or FMS code, and relyingõ upon exact directory data (i.e., 3 digit sector counts).õ õ MYDOS will run on any 8-bit Atari computer with at least oneõ disk drive (that is compatible with DOS 2). MYDOS 4.50 has full READõ compatibility with the DOS 2.5 format, but will only write to theõ first 720 sectors of the disk. (MYDOS has its own format for enhancedõ density disks that allow full access.) It is not compatible at thisõ time with the OS/A+ version 4 format, or the SpartaDOS format.õ õ Up to eight disk drives (or nine if the ninth is a RAMdisk) mayõ be accessed, but only one is required. The resident part of theõ operating system (DOS.SYS) supports all documented functions of theõ DOS 2 operating system, so MYDOS supports most available software forõ the ATARI home computers.õ õ The memory available to a program is affected only by the numberõ of files to be open concurrently: each disk file that may be open atõ the same time requires 256 bytes of buffer space. Unlike Atari DOS 2,õ memory requirements are independent of the number of disk drives orõ the sector size and density. The need for a 256 byte buffer for eachõ concurrently open file means that programs that keep large numbers ofõ files open will have less memory available than under DOS 2 and as aõ result some programs (mostly older versions of compilers and languageõ interpreters) will not have enough memory to run. With three fileõ buffers (which is the default) and no resident drivers (such as forõ RS232 support), MYDOS 4.50 permits binary programs to load as low asõ $1F00.õõõõ MYDOS User Manual page 2 Version 4.50õõõõõõõõõ õ MYDOS 4.50 also contains a very versatile RAMdisk driver thanõ can handle upgrades up to 1 megabyte that follow the guidelines ofõ the expanded memory on the 130XE, or the Axlon upgrade for the 800.õ MYDOS also has a feature that will determine how much memory youõ have, and set itself up for your machine (For XE-compatible upgradesõ only) automatically.õ õ õ III. MENU FUNCTIONSõ õ The menu provided by MYDOS 4.50 identifies 18 common tasks thatõ might need to be done. Rather than having to write a utility programõ (only a few lines of BASIC would perform most of the menu functions)õ or even remember the name and format of a DOS command, these tasksõ can be handled by entering a single letter. MYDOS responds with aõ question asking for the details of the operation (which file, whatõ density, "are you sure?" or whatever else it might need to know).õ After you enter the remaining information, the function is performedõ and another prompt is displayed.õ õ You should notice two interesting things about the menu: theõ second line on the screen identifies the disk drives present on theõ system and what they appear to MYDOS to be (single or double density,õ RAMdisk or high capacity hard disk). The next line describes theõ current default directory (that directory used when a disk isõ referenced by "D:" (without a unit number after the "D" - thisõ feature will be described later). The second thing to notice is thatõ after commands fill the screen, the menu "rolls" off the top: someõ DOS programs (e.g. Atari DOS 2) keep the menu, MYDOS does not. Thisõ permits more information to be displayed when a long sequence ofõ commands are done, or when many files are copied. To restore the menuõ to the screen, just type RETURN, and the initial screen will beõ restored.õ õ If you wish to abort a command at any point, simply press BREAK.õ This will return you to the prompt. Pressing BREAK or RESET whileõ writing to a disk will not cause any damage; however, the file youõ were writing will probably not be displayed in the directory, and theõ free sector count may be incorrect.õ õ When entering a filename, the drive number should be entered,õ followed by a ":", and then the rest of the filename. If the driveõ number and ":" are not entered, the default drive (and directory)õ will be used. In the [C]opy file option, entering the drive numberõ only will result in copying every file on the main directory of thatõ drive. A drive may be specified like this: "1", "1:", or "D1:". Ifõ you wish to specify the file or set of files to be referenced, theõ drive format must include a ":" or it must be omitted entirely (forõ the default drive and directory). Examples: D1:Test.obj, 1:TEST.ASM,õ or D2TEST (really D1:D2TEST) are valid file names, but d1:Test.obj orõ 1TEST.ASM are not.õ õ The file name itself is either fully specified (referring to theõõõõ MYDOS User Manual page 3 Version 4.50õõõõõõõõõ entire name as it is on the disk) or includes "wild card" charactersõ (specifying a set of files). A fully specified file name consists ofõ one to eight characters followed by a period (".") and zero to threeõ additional "extender" characters. The characters in the file name mayõ be upper or lower case letters, numbers, the underscore ("_") or theõ character "@". The only exception is the first character - it may notõ be a number. The "wild card" characters are the characters "*" andõ "?": the character "*" or the sequence ".*" end either the 8õ character or the 3 character field in the file name and match allõ possible characters. The character "?" matches only one single fileõ name character. Examples: "*.BAS" will match every file ending withõ .BAS. "TEST?.*" will match files TEST.BAS, TEST1.OBJ, but will notõ match TESTER.BAS.õ õ In addition to the main directory (containing up to 64 files orõ directories), each MYDOS disk may also contain additionalõ subdirectories of 64 files each. You may use one of two possibleõ characters to separate the subdirectory name(s): the ":" colon, orõ the ">" greater-than sign. If the main directory contained theõ subdirectory BAS and the file GRAPHIC1 were in the subdirectory fileõ BAS, it could be referenced with the filename BAS:GRAPHIC1 (orõ BAS>GRAPHIC1). If instead, GRAPHIC1 were in the subdirectory GR.dirõ which in turn were in BAS, then the reference would be toõ BAS:GR.dir:GRAPHIC1 (and so on with as many names as needed). Becauseõ there is no limit to the number of subdirectories on a disk (otherõ than the buffer size of programs using the directories and number ofõ available sectors on the disk), a single diskette can containõ hundreds of files if necessary. Each subdirectory is a 8 sector fileõ to its parent directory. Thus it is limited to 64 files orõ subdirectories like the 8 sector root directory.õ õ If a disk directory includes the files TEST.ASM, TEST.OBJ,õ TEST.C, TEST.ALM, TEASET.DOC, TRACE.FIL, and BETS.LST, theõ specification "t*.*" will not match any file name (since "t" and "T"õ are not the same letter to MYDOS). The specification "T**" will matchõ all but "BETS.LST" (since the others all begin with the letter "T").õ The specification "?E??.*" will match the first four files and theõ last one (since the 8 character part of the file name must have noõ more than 4 characters in it and the second character must be anõ "E"). The specification "*.?" will match only the file TEST.C (sinceõ it is the only file name with a single character in the 3 characterõ field). The specification "????E**" will match the files TEASET.DOCõ and TRACE.FIL and none of the others (since the 8 character part ofõ the file name must have at least 5 characters and the fifth must beõ an "E"). Note that MYDOS does not always require the "." period toõ separate the extender from the 8 character filename. Examples:õ FILENAME.EXT could be entered as FILENAMEEXT; TES*.* could be TES**,õ but TEST.* could NOT be entered as TEST*.õ õ õ IV. THE MENU COMMANDSõ õ A. List a Directory or a Set of Filesõ õõõõ MYDOS User Manual page 4 Version 4.50õõõõõõõõõ The "A" command will list the files on a disk with their sizes,õ followed by a line specifying the number of free sectors on the disk.õ If the line starts with a "*", the file has been locked and may notõ be modified or deleted without first being unlocked. A ":" before theõ file name marks those files that are subdirectories. These filesõ cannot be read or written as other files but only accessed asõ directories or deleted (if the directory is empty). File lengths andõ the number of free sectors are reported as 4 digit decimal numbersõ (most other Atari DOSs report the values as 3 digit numbers).õ õ If the number of free sectors on a drive exceeds 9999, the freeõ sector line will contain a 5 digit number, and be one characterõ longer. If a file is longer than 9999 sectors, the blank between theõ file extender and its sector count will contain the most significantõ digit (the line size does NOT change).õ õ No indication is made of the format of the file but ATARI DOSõ 2.0, 2.5, and MYDOS are the only three supported file formats.õ SpartaDOS or OS/A+ Version 4 files must be converted to single orõ double density Atari DOS 2 files first in order to be usable fromõ MYDOS. See Section 6 for further directory information if you needõ more detail.õ õ The "A" command will list the directory information to theõ screen if only one file specification is entered. If two are entered,õ the second is taken as a destination file and will be overwritten (orõ appended to if the /A flag is used) with the directory data. Useõ "2,D1:DIR.TXT" to save the directory data of drive 2 to a text fileõ DIR.TXT on drive 1. The entry "1,P:" will give you a printout of theõ directory of drive 1.õ õ To list the files in a subdirectory, enter the name of theõ directory followed by a ":" colon or ">" greater-than sign. Forõ example, "1:TEST:BAS:" will list the files in the subdirectory BASõ which in turn is in the subdirectory TEST in the main directory ofõ the diskette in drive 1. Using "D1:TEST>BAS>" will achieve the sameõ results.õ õ õ B. Run the Cartridgeõ õ The "B" command returns control to the cartridge in the left (orõ only) cartridge slot. If no cartridge is present, an error isõ displayed, and nothing happens. No additional information isõ required, so if a cartridge is present, it is entered after loadingõ MEM.SAV (if enabled) or immediately.õ õ õ C. Copy a File or a Set of Filesõ õ The "C" command is used to make another copy of one or moreõ files of data. The two file specifications asked for after enteringõ the "C" identify the source and the destination of the informationõ being copied. Either may be fully specified disk file or a deviceõõõõ MYDOS User Manual page 5 Version 4.50õõõõõõõõõ specification (such as E:, P: or one of the RS232 ports R1: to R4:).õ The destination may be a set of disk files (specified with "*" andõ "?"s) only if the source specifies a file name for the destination toõ use. The source may be a set and the destination a single disk file,õ but unless the "/A" modifier is specified to append each copied fileõ to the end of the previously copied files, only the last source fileõ will remain on the destination disk.õ õ Note that the "C" command always uses the full memory space forõ a copy operation (unlike ATARI DOS 2) and as a result, it will alwaysõ invalidate MEM.SAV if it is used. Any pending program cannot beõ restarted after a "C" or "J" command.õ õ There are several options when entering files to copy. As withõ all filename inputs, the default drive and directory (whatever "D:"õ is equal to on the top status line) will be used if Dn: is notõ specified. Using "/Q" at the end of the line will query you for eachõ source file it finds (useful for copying certain files but specifyingõ *.*) if you wish to copy it. Using "/S" will copy all files EXCEPTõ those with the first letter of the extender being "S" (will omit allõ *.S??). This emulates DOS 2.0's [O] copy file option, and is usefulõ when you want to copy all files except .SYS files. The last option isõ the "/X" parameter. This will prompt you for disk swaps, even if theõ source and destination drives are not the same number. Here are someõ examples of using the [C]opy file(s) command:õ õ "TEST.BAS" will copy the file TEST.BAS on the default drive (andõ directory) to the same drive, but prompt you for the destination.õ (Same as the [O] command in DOS 2.0.)õ "D1:TE*.*,3" will copy all files on drive 1 starting with "TE" toõ drive 3.õ "D4:DIR>*.TXT,E:/Q" will copy all files in the DIR directory of driveõ 4 ending with .TXT to the screen, but will query you before each one.õ "2:ADD,2:LIST/A" will append the data in the file ADD on drive 2 toõ the file LIST on drive 2.õ õ õ D. Delete a File or Set of Filesõ õ The "D" command will remove all files that match the fileõ specification entered, asking for confirmation before each one isõ removed. The "Delete file xxx?" prompts may be disabled by addingõ "/N" to the filename. In this case, all the matching files will beõ removed "quietly", and the only further indication you will see isõ the prompt for the next command.õ õ õ E. Rename a File or Set of Filesõ õ The "E" command changes the name of the source file or files toõ match the specification in the destination. Unlike other fileõ specifications, the destination specification MUST consist of aõ single file name: it must not contain any directory names or a diskõ drive number. For example, "D2:TEST>BASIC>NOTPNT.BAS,RANDIO.BAS" isõõõõ MYDOS User Manual page 6 Version 4.50õõõõõõõõõ the line entered to change the name of a file in the directoriesõ "D2:TEST>BASIC>". To change the name of the directory "BASIC" toõ "ATBASIC", the line would look like "D2:TEST>BASIC,ATBASIC". One wordõ of caution: Never rename more than one file to another name withoutõ wildcards in the destination. For example, renaming "*.*" to "TEST"õ would rename EVERY file to "TEST", making it impossible to retrieveõ files other than the first one!õ õ õ F. Lock a File or Set of Filesõ õ The "F" command limits access to the files identified. "Locked"õ files may not be deleted, renamed, added to, or replaced withoutõ being first unlocked with the "G" command. When a directory isõ listed, the files that have been locked will be marked with an "*" inõ the first column. The files that are locked may be read or loaded andõ executed normally, only modification or removal are prohibited. Aõ locked directory cannot be deleted or renamed and no files may beõ written to it. The files already in it are not locked however.õ õ MYDOS will not ask you for confirmation on each file, "Lockõ xxx?" unless you specify this feature by adding "/Q" to the filename.õ õ õ G. Unlock a File or Set of Filesõ õ The "G" command removes the limitations imposed on a file whenõ it is "locked" using the "F" command. It does not alter the file orõ otherwise change the way the file is accessed or used. The sameõ function may be performed in a program through the CIO function toõ "unlock" a file.õ õ As with the "F" function, MYDOS will not ask you forõ confirmation with each file to unlock, unless you specify the "/Q"õ parameter after the filename.õ õ õ H. Write MYDOS to a Diskõ õ The "H" command is used to make a bootable copy of the currentõ MYDOS 4.50 files in memory. The two files created or rewritten areõ "DOS.SYS" and "DUP.SYS". "DOS.SYS" is the permanently resident fileõ management routine accessed through CIO and the small interfaceõ package that loads and saves MEM.SAV (an image of the part of memoryõ used to hold the nonresident part (DUP.SYS) of MYDOS), and the codeõ to load the menu portion of MYDOS ("DUP.SYS"). The file "DUP.SYS" isõ a standard binary load file containing the part of MYDOS that isõ overwritten when a program is loaded into memory. Neither of theseõ files may be interchanged with any other version or type of diskõ operating system; both should be treated as a single object. Neverõ copy only DOS.SYS or only DUP.SYS to a disk without copying theõ other, unless you will never access the DUP.SYS menu (called byõ typing "DOS"). The files written to the disk by the "H" command willõ reflect the configuration parameters currently in memory, which mayõõõõ MYDOS User Manual page 7 Version 4.50õõõõõõõõõ be different from the ones active if the system were rebooted fromõ the master disk again. (See Section IV.O., configuring the system,õ for the definition of the configuration parameters provided in theõ system and how to specify a modified configuration.)õ õ õ I. Initialize a Disketteõ õ The "I" command is used to "Format", or prepare a new disk forõ use with the MYDOS operating system, or to remove all the files on anõ old disk. The result of the "I" command is a completely empty disk.õ The only data on the diskette is that system provided informationõ defining the space available and the empty main directory. If theõ drive number is followed by a "/N" parameter, the diskette will notõ be reformatted, but just "erased" (the directory sectors will beõ rewritten). If a disk has recently been formatted, this is theõ fastest way to remove all the files on a diskette, rather than to useõ the "D" command. Use this option ONLY if you know the disk was good,õ for this does not verify the integrity of the disk. Due to a bug inõ some hard disk interfaces, this "/N" parameter may be needed toõ initially format the hard disk partitions.õ õ A diskette may also be formatted in the Atari 1050 enhancedõ format by responding to the question "(Type [A] to format inõ Enhanced) Type [Y] to format drive x:" with a "A" (presuming theõ drive is a 1050 drive or compatible with the 1050). The diskette is,õ however, not compatible with the diskettes similarly created by DOSõ 2.5. The MYDOS diskette will not be readable by DOS 2.5, but DOS 2.5õ enhanced disks can be fully read by MYDOS.õ õ An additional note: it is a good idea to set the density of theõ drive you are about to format, unless the drive is not capable ofõ double density. (see the "P" command for information on settingõ density.) Otherwise, MYDOS will format the drive in the density ofõ which it was last accessed.õ õ õ J. Duplicate a Disketteõ õ The "J" command copies all the information from one diskette toõ another. The information to be copied form the source diskette isõ determined by specifying a starting and an ending sector number. Ifõ the range is not stated, the sectors marked as in use in the DOS bitõ map (on the VTOC sectors) are copied. The VTOC may be constructed byõ Atari DOS 2, any version of MYDOS or any other compatible operatingõ system.õ õ Specifying a sector range is done by adding two numbersõ separated by a dash and enclosed in parentheses to the end of theõ drive specification(s). For example, to copy sectors 19 through 54õ (tracks 1 through 3) from drive 1 to drive 3 without formatting theõ diskette in drive 3, the command line could be "1,3/N(19-54)". Toõ copy the entire disk from drive 1 to drive 2 after formatting theõ diskette in drive 2 the command could be "1,2(1-720)". This is theõõõõ MYDOS User Manual page 8 Version 4.50õõõõõõõõõ proper way to duplicate a non-MYDOS compatible diskette (of course,õ copies of "copy protected" disks will not normally be usable afterõ copying but data disks for some word processors and games can beõ backed up this way). Enhanced density disks may be duplicated in theõ same manner: "1,2(1-1040)".õ õ If the destination disk is already a properly formattedõ diskette, the "/N" modifier may be entered after either drive numberõ to skip the formatting of the destination drive. Otherwise, theõ destination diskette will be formatted before the data from theõ source is copied to it. That is, either "1/N,2" or "1,2/N" will copyõ from drive 1 to drive 2 without first formatting the diskette inõ drive 2.õ õ Note that the "J" command, like that in ATARI DOS 2, will useõ all of available memory to duplicate the diskette: this means that ifõ memory has been saved using the MEM.SAV file, it will no longer beõ valid. Any pending program cannot be restarted after a "C" or "J"õ command.õ õ õ K. Save Memory to Diskõ õ The "K" command builds a binary load file containing the dataõ from the memory area specified, as well as adding an initializationõ and a run vector address if specified. If the file is not to executeõ an initialization routine on being loaded, the initialization vectorõ should be omitted. If it is not to run on being loaded, the runõ vector should also be omitted (trailing commas need not be entered).õ If either vector is entered as zero, that is equivalent to omittingõ it. Note that the starting and ending addresses of the program andõ both entry points are all specified as hex numbers. You may appendõ data to another file by using the "/A" parameter. This command mayõ also be used for just adding a Run address to a binary file. Example:õ "D1:PROGRAM.OBJ/A,0,0,,4000" would add the run address of $4000 toõ the program "PROGRAM.OBJ" on drive 1.õ õ If MEM.SAV is active when the "K" command is entered, theõ MEM.SAV file is loaded before writing the file to the disk.õ õ õ L. Load Memory from a File/Disable MEM.SAVõ õ The "L" command takes a binary load file from the disk and loadsõ it into memory. The load file's initialization routine(s) will beõ executed and the program started at its run address unless the "/N"õ parameter is added to the file name. If the file is not a binaryõ file, you will be returned with an "Error -- 180". A binary file thatõ is corrupted will return an "Error -- 181".õ õ This command also disables the MEM.SAV feature before loadingõ and executing the program. To just disable MEM.SAV, press "L", thenõ [RETURN].õ õõõõ MYDOS User Manual page 9 Version 4.50õõõõõõõõõ õ M. Run at Addressõ õ The "M" command is used to enter a program loaded without a runõ address, or to jump into any program without the need for a returnõ address. It may be used to restart the computer (loading theõ AUTORUN.SYS file, if any, or a new DOS, etc...) by specifying "E477"õ as the jump address. If MEM.SAV is active (enabled with the "N"õ command and not since disabled by the "L" command), the contents ofõ memory will be restored from MEM.SAV before jumping to the addressõ specified.õ õ õ N. Load MEM.SAV from a File/Enable MEM.SAVõ õ The "N" command takes a binary load file from the disk and loadsõ it into memory, just as does the "L" command. The difference is thisõ command enables the MEM.SAV file before loading (and executing) theõ program; and when control is returned to MYDOS, the contents ofõ memory will be saved back to MEM.SAV.õ õ To just enable MEM.SAV, first enter this DOS menu (by typingõ "DOS" in BASIC), then press "N" and [RETURN].õ õ õ O. System and Drive Configurationõ õ The "O" command is used to specify the type (at least logically)õ of the disk drives on your computer and is also used to specifyõ several system configuration parameters such as the number of fileõ buffers provided or whether a RAMdisk is present. The systemõ configuration functions, which are not specific to individual drives,õ are selected by pressing [RETURN] at the prompt "Drive number orõ RETURN:". The following table explains all the prompts for systemõ configuration:õ õ õ Verify WRITEs? N=do not write with verify, else do verifyõ õ Number of File Buffers? The number of disk files that can be openõ at once (RETURN = 3)õ õ RAM disk present? N=no RAM disk on the system (skips theõ next 4 questions as well), else theõ RAMdisk is enabled, and the next questionsõ determine what kind it is.õ õ [A]xlon or [X]E type? A=Axlon, (RETURN)=XL or XE type. Ifõ Axlon, skip the next question.õ õ Use default config for (x)K? N=no, specify parameters. "Y" orõ [RETURN] uses the parameters the DOSõ generated for your type of machine. Noteõ that the "x" is replaced by the amountõõõõ MYDOS User Manual page 10 Version 4.50õõõõõõõõõ of total memory MYDOS thinks you have.õ Skip the next three questions if answeredõ yes.õ õ Size(K)? Size of the RAMdisk area in K (8 singleõ density sectors = 1K); this must be aõ multiple of 16 (NI 256K upgrade=192 OR 128,õ AXLON=112, default or 130XE=64).õ õ Control Address(HEX)? Address of the memory map control port: aõ RETURN specifies $D301 for the 130XE. Forõ the AXLON RAMPOWER 128, enter "CFFF" here.õ õ Page sequence? [RETURN] if using a standard Atari 130XEõ or equivalent RAMdisk. Other standard valuesõ are (1) for the Newell industries upgrade,õ (2) for the RAMBO from ICD, and (5) forõ Axlon or compatible boards. The mostõ general response is to list the pageõ numbers to be used as 2 hex digits each,õ separated by commas, and continuing ifõ necessary by ending the line with a comma.õ The sequence is ended with a "0" if theõ RAMdisk is 130XE compatible, andõ with a "FF" if it is Axlon compatible.õ õ RAM disk drive no? Drive number used to access the RAMdiskõ (RETURN for drive 9 or a drive number 1-9)õ õ A [RETURN] does not retain the current value when responding toõ these questions; it changes the setting to a generally acceptableõ default. Even a BREAK or RESET will not leave the configurationõ unchanged. If the configuration process is aborted for any reason,õ and you wish to retain your old configuration, you should reboot theõ computer or properly complete the configuration before doing anythingõ else.õ õ If instead of a [RETURN], a drive number had been specified,õ then that drive would be reconfigured. The first question identifiesõ whether the drive is to be included in system initialization (andõ thus be available for later use). If a non-existent disk is included,õ it does not cause any problems with the system: it simply causes thatõ disk to be examined each time the system is booted and reset (addingõ perhaps a second to the time it takes to boot MYDOS). If drive isõ excluded from the system, no further questions are asked. Otherwise,õ the second question asks if the drive is configurable: that is, is itõ like the ATARI 810 drive (with a fixed configuration) or is it likeõ the PERCOM or ATR8000 drives. If the disk is not configurable it isõ assumed to be a 720 sector, single or double density ATARIõ 810/815/1050 disk drive.õ õ The third question is whether the drive is a high capacity driveõ (does it use the modified configuration for non-floppy disks). Thisõ is for hard disks. This should be answered "N" if the drive is aõõõõ MYDOS User Manual page 11 Version 4.50õõõõõõõõõ floppy disk drive, and "Y" if otherwise. If this question is answeredõ "Y", the only remaining question is the size (in sectors, from 256 toõ 65535) of the drive. Drives up to 16 million bytes (Megabytes)õ capacity can used with MYDOS, and larger drives can usually beõ partitioned to appear as two or more drives of less than 16 millionõ bytes capacity. See your hard disk manual for more information onõ this subject.õ õ Drives that have not been configured can still be accessed. Thisõ configuration is necessary ONLY when formatting hard disks, and whenõ using PERCOM or ATR8000 interfaces. Other than the above, the driveõ configuration is not necessary - MYDOS will figure out by itself whatõ the disk is capable of by its format.õ õ If the first three answers are "N" (do not exclude the drive),õ "Y" (it is configurable), and "N" (it is not a high capacity drive),õ the configuration is asked for: Is the drive double sided, how manyõ tracks are there on the each side of the disk, and at what speed canõ it move the read/write head across the disk (what is its step rate).õ The first question is answered with "Y" or "N" ("Y" meaning "yes" itõ is a double sided drive, and diskettes formatted on it will be doubleõ sided). The second question is answered with 35, 40, 77, or 80õ followed by a [RETURN]. If you have IBM PC/AT style high capacityõ disk drives (1.2Mb capacity) you may use 77 of the 80 tracks in highõ capacity mode providing 1 Mb capacity by selecting 77 tracks. Noõ other numbers are accepted. The answer to this question specifiesõ both the type of drive (8 inch/high capacity 5 1/4 inch, or standardõ 5 1/4 inch) as well as the number of tracks per side. This answer isõ very important to the operation of the drive.õ õ The last answer ("Step Rate?") is entered as a code: use theõ following table and the drive specifications to determine the properõ value:õ õ Code value 8 inch rate 5 1/4 inch rateõ 0 3 ms/track 6 ms/track (XF-551)õ 1 6 ms/track 12 ms/trackõ 2 10 ms/track 20 ms/trackõ 3 15 ms/track 30 ms/trackõ õ õ P. Diskette Density Selectionõ õ The density used for most MYDOS commands is determined by theõ data written on the diskette and the operator need not worry aboutõ setting it. The "P" command is provided to allow forcing the densityõ setting for the format ("I") command, and to permit setting theõ density for disk drives and systems that do not automaticallyõ recognize the density of a diskette when reading sector 1 (forõ example, Indus GT drives).õ õ Type the drive number, followed by "S" or "D" to set the densityõ of the drive. Example: "2,D".õ õõõõ MYDOS User Manual page 12 Version 4.50õõõõõõõõõ õ Q. Create Subdirectoriesõ õ When a diskette is formatted, an empty directory (the highestõ level or root directory) is created. This directory is capable ofõ holding up to 64 files or other directories. If additionalõ directories are installed in this directory, each of the additionalõ directories can contain up to 64 files as well. A subdirectory isõ installed in an existing directory using the "Q" command andõ responding with the filename of the new directory. For example, ifõ "TEST" and "BAS" are two subdirectories in the root directory of theõ diskette in drive 1, "1:TEST:COMM" or "1:BAS>COMM" would create a newõ directory in the "TEST" or "BAS" directories respectively.õ "1:NEW:COMM" would not create a directory, however, since theõ directory "NEW" does not already exist. A "Q" command with theõ response "1:NEW" would create it, however, and a second "Q" commandõ with the response "1:NEW:COMM" would then create the new directoryõ called "COMM" within the directory "NEW".õ õ Each directory takes up 8 sectors, and after it is created itõ may only be referenced as a directory (followed by a ":" or ">"), orõ deleted. It may only be deleted if it is empty (if it has no files inõ it). A directory may be emptied by using the "D" (delete) command andõ specifying the files "*.*" or "*.*/N" to remove all the files in theõ directory. You can most safely do this by specifying the full name ofõ the directory: D5:MSGBASE>SEPT1983>*.*/N for example. Now to deleteõ the SEPT1983 subdirectory, simply delete "D5:MSGBASE>SEPT1983" (noteõ no trailing ":" or ">").õ õ õ R. Set the Default Directoryõ õ The "R" command is used to select a directory to be used when aõ file is referenced without the drive number: that is, when file namesõ such as "TEST1.BAS" or "D:NEWCODE" or even ":BIGFILE" are used, theyõ are assumed to be in the default directory. Programs run under MYDOSõ can access the contents of the current default directory by using aõ file name of the form "D:..." without the drive number explicitlyõ entered. They may also set the default directory by calling the CIOõ Function code 41 (set directory) routine.õ õ The directory is set by inserting the diskette with thatõ directory on it into the desired drive, then entering the file nameõ of the directory with no trailing ":" or ">".õ õ If the diskette in the drive containing the default directory isõ replaced, or if the default directory on a diskette is deleted, theõ default should be redefined. The one exception is if the defaultõ directory is the root or main directory on a diskette: this isõ because the root directory is at the same location on all diskettes.õ õ õ V. FILE MANAGER FUNCTIONS PROVIDED THROUGH CIOõ õõõõ MYDOS User Manual page 13 Version 4.50õõõõõõõõõ This part of the documentation is included in the technicalõ notes of MYDOS, so consult those notes for details.õ õ õ VI. CIO FUNCTION CODES PROVIDED BY MYDOS 4.50õ õ This part of the documentation is included in the technicalõ notes of MYDOS, so consult those notes for details.õ õ õ VIII. MYDOS MEMORY MAPõ õ This part of the documentation is included in the technicalõ notes of MYDOS, so consult those notes for details.õ õ õ IX. CUSTOMIZING A SYSTEM DISKõ õ õ Much of this section is covered in the technical notes, but hereõ are some things pertinent to all users.õ õ õ RAMdisk Configurationsõ õ The RAMdisk driver included in MYDOS 4.50 will automaticallyõ configure itself on XE compatible memory upgrades. It is suggestedõ you use this feature. If you REALLY want to set up the system to yourõ specifications (such as configuring it to NOT use the banks BASIC XEõ uses), the power is available. This is necessary when AXLONõ compatible upgrades for the 800. The default page sequence uses theõ standard XE banks first.õ õ The file RAMBOOT.M65, the MAC/65 assembler source code for theõ file RAMBOOT.AUT, is an AUTORUN.SYS file that simulates the operationõ of Atari DOS 2.5 and its RAMdisk handler. It "formats" the RAMdiskõ and copies DUP.SYS to it, as well as setting the RAMdisk unit numberõ and the unit used to access the DUP.SYS and MEM.SAV files to 8.õ õ By modifying the code in the source file and creating a modifiedõ AUTORUN.SYS file, the drive used to save MEM.SAV and fetch DUP.SYSõ can be modified, other files than just DUP.SYS can be copied to theõ RAMdisk when the system is booted, or any other operation could beõ performed that you find useful.õ õ õ Number of Files Open at Onceõ õ The number of files that may be simultaneously open is set withõ the same byte as in ATARI DOS 2: location $0709 (decimal 1801). Thisõ byte contains a number from 1 to 16 setting the number of disk filesõ that may be open at the same time. Normally it is set to 3, theõ smallest number that supports all the functions in the MYDOS menu.õ Specifically, a copy from one disk file to another requires threeõõõõ MYDOS User Manual page 14 Version 4.50õõõõõõõõõ open disk files. The value in the distributed version of MYDOS 4.50õ is three; to permit more or fewer files, use the "O" command followedõ by a RETURN. To permanently change the maximum number of files, useõ the "H" command to write a modified MYDOS system to a disk. Each fileõ that may be open at one time requires the allocation of a 256 byteõ buffer, so setting this value to 7 (instead of 3) will cause MYDOS toõ be 1024 bytes longer than before, and the programs loaded must beginõ no lower than $22E9 (instead of $1EE9). In corresponding fashion, byõ setting the value to 1, a BBS program can be loaded in with 512 bytesõ of additional memory if only one disk file is ever open at one timeõ (commonly true of bulletin board programs).õ õ õ Controlling the Disk Drives Accessed by MYDOSõ õ Like ATARI DOS 2, MYDOS automatically identifies the disk drivesõ that are present when booted up initially and any time it isõ reinitialized (some programs do this on exiting to the DOS and it isõ always done if the RESET key is pressed). MYDOS 4.50 is distributedõ with drives 1 and 2 configured, all others are omitted in order toõ speed up the booting process. To modify the maximum configurationõ MYDOS will use, invoke the "O" command for each drive to be added toõ (or removed from) the system. Pressing the RESET key will then useõ this value to redefine the drive. To permanently change the maximumõ drive configuration, use the "H" command to write out a new copy ofõ MYDOS back to your system disk.õ õ õ Selecting or Disabling Write-with-Verifyõ õ MYDOS 4.50 is distributed with the verify disabled, to speed upõ writing. Most drives (and disks) are very reliable, and function withõ no problems with the verify disabled. However, if you experienceõ problems, or want to be 100% sure your data written will be good, useõ the "V" command to enable verify. As with DOS 2.0, the byte atõ location $0779 (1913 decimal) controls all write operations to theõ disk. If the value "poked" into it is $57 (87 decimal), then allõ writes will be read back to verify the action was successful. If theõ value "poked" into $0779 is $50 (80 decimal) then writes will beõ assumed successful, and will be performed in about one third the timeõ taken when verify is enabled. Note that this address is not the sameõ as in MYDOS 4.0 and 4.1 (where it was $0770 or 1904 decimal). Toõ permanently alter the DOS, rewrite it back to the disk using the "H"õ command after changing it.õ õ õ X. DISK DRIVE INTERFACE (via SIO)õ õ This information is covered in the technical notes for MYDOS.õ õ õ XI. RAMDISK INTERFACEõ õ This information is also covered in the technical notes.õõõõ MYDOS User Manual page 15 Version 4.50õõõõõõõõõ õ õ XII. INITIAL INSTALLATION INSTRUCTIONSõ õ The following checklist is a procedure to bring up MYDOS on aõ new hardware configuration. It should be done with an un-modifiedõ copy of MYDOS 4.50, and care should be taken to perform the steps inõ exactly the order specified.õ õ HOW TO GET FROM THE DRIVEWAY TO THE FREEWAY:õ õ 1. Before turning on your computer and disk drive, make sure thatõ you do not have a cartridge installed in the computer.õ 2. Turn on the disk drive, and when it stops spinning, insert theõ MYDOS master diskette. Close the door.õ 3. Turn on the computer (with OPTION held if using an XL or XEõ computer). After several seconds, the MYDOS menu should appearõ on the screen. A prompt "Select Item (RETURN for menu):" willõ be displayed.õ 4. If you have a standard 2-drive system with single sided 40õ track drives and either no RAMdisk or the standard Atariõ 130XE memory configuration, continue with step "6".õ 5. Configure each of your disk drives only if they are hardõ disks or special double-sided (XF-551) or more than 40õ tracks by entering the "O" command followed by the driveõ number, and answering the questions the program asks you.õ 6. If you need to run a program that requires more than 3 diskõ files active at a time or you otherwise want alter one ofõ the default parameters, press the "O" key followed by theõ RETURN key and answer the system configuration questions.õ This is also where the RAMdisk configuration needs to beõ entered if it is not a standard 130XE RAMdisk. ****õ 7. Now, insert a blank diskette in the disk drive and format itõ with the "I" command (remove the write protect tab if theõ diskette is write protected -- but first ask yourself whyõ you put it there in the first place!). If an error messageõ is displayed, insert another diskette; the first is bad.õ 8. Write the system files DOS.SYS and DUP.SYS to the newlyõ formatted diskette with the "H" command and skip to stepõ "10" if you do not have an ATARI 130XE computer or someõ other RAMdisk usable with the MYDOS RAMdisk driver.õ 9. If you have an ATARI 130XE computer or have another kind ofõ RAMdisk and wish to use the MYDOS RAMdisk driver, copyõ RAMBOOT3.AUT on the master diskette to AUTORUN.SYS on theõ new diskette (use the "C" command, and if you have only oneõ drive, enter the command line "RAMBOOT.AUT,AUTORUN.SYS/X"õ when MYDOS asks for the file names).**õ 10. This is now your primary system backup disk: place a writeõ protect tab on it, label it, and use the "J" command toõ make as many working boot disks as you need from it.õ õ õ NOTES:õ õõõõ MYDOS User Manual page 16 Version 4.50õõõõõõõõõ The RAMBOOT3 program will first format your RAMdisk, then copyõ the files in a directory called RAMDISK on your boot disk to theõ RAMdisk if such a directory exists. To take advantage of thisõ feature, use the "Q" command to create the directory and copy theõ files you want on the RAMdisk to it. If you do not want your ramdiskõ formatted each time you boot-up, which is not recommended, skip thisõ step (step 9). Just be sure you format your ramdisk before using it.õ õ õ ** -- The source file for the RAM disk boot is also included; ifõ you feel the urge, modify it to copy other files to theõ RAMdiskõ in addition to DUP.SYS (take out the MEM.SAV setting code,õ too, if you need the space) or perhaps add a call to changeõ the default disk drive to D8:. Just remember that if youõ string together several autorun files, only the last will haveõ its RUN address invoked.õ õ **** -- NEWELL INDUSTRIES 800XL UPGRADE -- this RAMdisk can useõ page sequence 0, page sequence 1, or the default. Theõ E3/E7/EB/EF pages can be reserved for BASIC/XE inõ extended mode by setting the RAMdisk size to 128K andõ the sequence to 1. Enter Size=128 (or 192 if you willõ not be using BASIC/XE often), Control address=D301, andõ Page sequence=1. In the second case this will use the areaõ also used by BASIC/XE, but it will access it only afterõ the first 128K are used up. By setting the size to 128K,õ BASIC/XE and the RAMdisk are fully separate and cannotõ interfere with each other.õ õ **** -- AXLON RAMPOWER 128 for the Atari 800 computer -- MYDOSõ 4.50 comes configured for the Atari 130XE -- if you areõ installing it on an 800 with an Axlon RAMPOWER board, youõ must disable the 128K mode on the RAMPOWER board untilõ you have configured the MYDOS RAMdisk code by enteringõ Size=112, Control address=CFFF and Page sequence=5. Thenõ write the DOS back to a new diskette, copy AUTORUN.SYSõ to it, switch the RAMPOWER board back to 128K and bootõ up the new diskette.õõõõõõõõõõõõõõõõõõõ MYDOS User Manual page 17 Version 4.50õõõõõõõõõ õ XIII. ERROR CODES AND THEIR SOURCESõ õ 3 Last byte of file read, next read will return EOF (MYDOS)õ 128 Break Abort (OS ROMs)õ 129 IOCB already open (OS ROMs)õ 130 No such device defined in the system (OS ROMs)õ 131 Write-only IOCB, cannot read (OS ROMs)õ 132 Invalid command (OS ROMs)õ 133 Device or File not open (OS ROMs)õ 134 Invalid IOCB reference (OS ROMs)õ 135 Read-only IOCB, cannot write (OS ROMs)õ 136 Attempt to read past end of file (MYDOS)õ 137 Truncated record (OS ROMs)õ 138 Device Timeout (OS ROMs)õ 139 Device NAK (serial bus failure, OS ROMs)õ 141 Cursor out of range for graphics mode (OS ROMs)õ 142 Data frame overrun (serial bus failure, OS ROMs)õ 143 Data frame checksum error (serial bus failure, OS ROMs)õ 144 Device I/O error (in peripheral hardware, OS ROMs)õ 146 Function not provided by handler (OS ROMs)õ 147 Insufficient RAM for graphics mode selected (OS ROMs)õ 160 Invalid Unit/Drive Number, zero or greater than 7 (bothõ MYDOS and OS ROMs)õ 161 No sector buffer available, too many open files (MYDOS)õ 162 Disk full, cannot allocate space for output file (MYDOS)õ 163* Write protected or system error - disk is not readable (MYDOS)õ 164 File number in link does not match the file's directoryõ location (MYDOS)õ 165 Invalid file name (MYDOS)õ 166 Byte not within file, invalid POINT request (MYDOS)õ 167 File locked, cannot be altered (MYDOS)õ 168 Invalid IOCB (MYDOS and OS ROMs)õ 169 Directory full, cannot create a 65-th entry in a directoryõ -- entries may be used for "lost" as well as real filesõ (MYDOS)õ 170 File not in directory, cannot be opened for input (MYDOS)õ 171 IOCB not open (MYDOS and OS ROMs)õ 172* File or directory of same name already exists in parentõ directory, cannot create (MYDOS)õ 173 Bad diskette or drive, cannot format diskette (MYDOS)õ 174* Directory not in parent directory (MYDOS)õ 175* Directory not empty, cannot delete (MYDOS)õ 180* Not a binary file (MYDOS)õ 181* Invalid address range for binary file, END<BEGIN (MYDOS)õ õ * -- New error codes, not present or different in Atari DOS 2.õ õ Most error codes are identical to those returned from ATARI DOSõ 2; the differences result from the expanded capabilities of MYDOS.õ Specifically, Error 164, indicating a file number mis-match, onlyõ occurs if the file is written in DOS 2.0 or DOS 2.5 format. Errorsõ 180 and 181 can only occur when XIO 39 (or 40) is invoked to load aõ file. Errors 172 and 175 apply to creating and deleting directoriesõõõõ MYDOS User Manual page 18 Version 4.50õõõõõõõõõ and have no ATARI DOS 2 equivalent; error 174 applies to accessingõ files in subdirectories, so it also has no ATARI DOS 2 equivalent.õ Error code 173 serves the same function as it did in ATARI DOS 2, butõ is returned more often (to identify bad diskettes more reliably).õ õõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõ MYDOS User Manual page 19 Version 4.50õõõõ